package com.eimf.saf.common.dao;

import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Repository;

import com.eimf.saf.base.dao.BaseDao;
import com.eimf.saf.common.entity.DictType;

/**
 * @author eden
 * @date 2013-11-14 下午4:00:16
 * @Description: 字典类型持久层
 */
@Repository
public class DictTypeDao extends BaseDao<DictType>
{

    /**
     * 根据条件分页查询字典类型。
     */
    @SuppressWarnings("unchecked")
    public List<DictType> findDictTypeList(final Map<String, Object> param)
    {
        return super.getSqlMapClientTemplate().queryForList("DictTypeMap.findDictTypePage", param);
    }

    public int findCountDictType(final Map<String, Object> param)
    {
        return (Integer) super.getSqlMapClientTemplate().queryForObject("DictTypeMap.countDictType", param);
    }

    /**
     * 根据字典类型id获取该字典类型信息
     */
    public DictType findDictTypeById(final String dictTypeId)
    {
        return (DictType) super.getSqlMapClientTemplate().queryForObject("DictTypeMap.getDictTypeById", dictTypeId);
    }

    /**
     * 删除指定的字典类型。
     */
    public int delDictTypeById(final String dictTypeId)
    {
        return super.getSqlMapClientTemplate().delete("DictTypeMap.deleteDictType", dictTypeId);
    }

    /**
     * 删除当前字典类型下所有字典数据
     * */
    public int delAllDict(final String dictTypeId)
    {
        return super.getSqlMapClientTemplate().delete("DictTypeMap.deleteAllDict", dictTypeId);
    }

    /**
     * 新增字典类型。
     */
    public void addDictType(final DictType dictType)
    {
        super.getSqlMapClientTemplate().insert("DictTypeMap.insertDictType", dictType);
    }

    /**
     * 修改字典类型。
     */
    public int updDictType(final DictType dictType)
    {
        return super.getSqlMapClientTemplate().update("DictTypeMap.updDictType", dictType);
    }
}
